package come.bjpowernode.javase.io;

import java.io.FileReader;
import java.util.Map;
import java.util.Properties;

/*
Io + Properties 的联合应用:
    以后经常改变的数据，可以写到一个文件中，使用动态的读取，
    将来只需要修改这个文件的内容，java代码不需要改动，
    不需要编译，服务器不需要重启，就可以拿到动态的信息。

    类似于以上这种机制的文件，被称为配置文件
    并且当配置文件的内容为：
        key1=value1
        key2=value2
    的时候，我们把这种文件叫做配置文件。

    java规范中要求，属性配置文件建议以.properties结尾，但这不是必须的。
    这种以.properties结尾的文件在java中被称为属性配置文件。
    其中Properties对象是专门用来读取属性配置文件的一个类。
 */
public class IoPropertiesTest01 {
    public static void main(String[] args)throws Exception {
        /*
        Properties是一个Map集合，key和value都是String类型
        将userInfo中的数据加载到Properties对象当中。
         */
        //新建一个输入流对象
        FileReader reader = new FileReader(
                "chapter23/userinfo.properties");

        //新建一个Map集合
        Properties pro = new Properties();
        pro.load(reader);//文件中的数据顺着管道加载到pro集合中，其中等号左边为key，等号右边为value

        reader.close();
        //通过key来获取value
        String userName = pro.getProperty("user");
        System.out.println(userName);

        String passWord = pro.getProperty("password");
        System.out.println(passWord);

        String data = pro.getProperty("data");
        System.out.println(data);

        String userName1 = pro.getProperty("userName");
        System.out.println(userName1);
    }
}
